home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1999 April: Mac OS SDK / Dev.CD Apr 99 SDK1.toast / Development Kits / Interfaces&Libraries / Universal / Interfaces / CIncludes / OCEStandardDirectory.h < prev    next >
Encoding:
C/C++ Source or Header  |  1998-08-17  |  19.7 KB  |  613 lines  |  [TEXT/MPS ]

  1. /*
  2.      File:        OCEStandardDirectory.h
  3.  
  4.      Contains:    Apple Open Collaboration Environment Standard Directory Interfaces.
  5.  
  6.      Version:    Technology:    AOCE Toolbox 1.02
  7.                  Release:    Universal Interfaces 3.2
  8.  
  9.      Copyright:    © 1994-1998 by Apple Computer, Inc., all rights reserved.
  10.  
  11.      Bugs?:        For bug reports, consult the following page on
  12.                  the World Wide Web:
  13.  
  14.                      http://developer.apple.com/bugreporter/
  15.  
  16. */
  17. #ifndef __OCESTANDARDDIRECTORY__
  18. #define __OCESTANDARDDIRECTORY__
  19.  
  20. #ifndef REZ
  21. #ifndef __ICONS__
  22. #include <Icons.h>
  23. #endif
  24. #ifndef __MACTYPES__
  25. #include <MacTypes.h>
  26. #endif
  27. #ifndef __QUICKDRAW__
  28. #include <Quickdraw.h>
  29. #endif
  30.  
  31. #ifndef __OCE__
  32. #include <OCE.h>
  33. #endif
  34. #ifndef __OCEAUTHDIR__
  35. #include <OCEAuthDir.h>
  36. #endif
  37.  
  38.  
  39.  
  40. #if PRAGMA_ONCE
  41. #pragma once
  42. #endif
  43.  
  44. #ifdef __cplusplus
  45. extern "C" {
  46. #endif
  47.  
  48. #if PRAGMA_IMPORT
  49. #pragma import on
  50. #endif
  51.  
  52. #if PRAGMA_STRUCT_ALIGN
  53.     #pragma options align=mac68k
  54. #elif PRAGMA_STRUCT_PACKPUSH
  55.     #pragma pack(push, 2)
  56. #elif PRAGMA_STRUCT_PACK
  57.     #pragma pack(2)
  58. #endif
  59.  
  60. #endif /* REZ */
  61.  
  62. /* generic icon suites */
  63. #define    genericDirectoryIconResource            -16721    /* icl8, icl4, ICN#, ics#, ics4, ics8, sicn  */
  64. #define    genericLockedDirectoryIconResource        -16716    /* icl8, icl4, ICN#, ics#, ics4, ics8, sicn  */
  65. #define    genericRecordIconResource                -16722    /* icl8, icl4, ICN#, ics#, ics4, ics8, sicn  */
  66. #define    genericAttributeIconResource            -16723    /* icl8, icl4, ICN#, ics#, ics4, ics8, sicn  */
  67. #define    genericTemplateIconResource                -16746    /* icl8, icl4, ICN#, ics#, ics4, ics8 */
  68. /* standard icon suites */
  69. #define    directoryFolderIconResource                -16720    /* icl8, icl4, ICN#, ics#, ics4, ics8, sicn  */
  70. #define    lockedDirectoryFolderIconResource        -16719    /* icl8, icl4, ICN#, ics#, ics4, ics8, sicn  */
  71. #define    personalDirectoryIconResource            -16718    /* icl8, icl4, ICN#, ics#, ics4, ics8, sicn  */
  72. #define    directoriesIconResource                    -16717    /* icl8, icl4, ICN#, ics#, ics4, ics8, sicn  */
  73. #define    preferredPersonalDirectoryIconResource    -16724    /* icl8, icl4, ICN#, ics#, ics4, ics8, sicn  */
  74. /* icon IDs for spinning arrows */
  75. #define    kFirstSpinnerIcon                        -16745
  76. #define    kLastSpinnerIcon                        -16738
  77. /* resource types */
  78. #define    kSDPPanelResourceType                    'panl'
  79. #define    kSDPFindPanelResourceType                'find'
  80. /* Standard FindPanel resource */
  81. #define    kStandardFindLayout                        -16700
  82. #ifndef REZ
  83. /* Prompt For Identity structures */
  84.  
  85. enum {
  86.     kSDPGuestBit                = 0,
  87.     kSDPSpecificIdentityBit        = 1,
  88.     kSDPLocalIdentityBit        = 2
  89. };
  90.  
  91. /* Values of SDPIdentityKind */
  92.  
  93. enum {
  94.     kSDPGuestMask                = 1 << kSDPGuestBit,
  95.     kSDPSpecificIdentityMask    = 1 << kSDPSpecificIdentityBit,
  96.     kSDPLocalIdentityMask        = 1 << kSDPLocalIdentityBit
  97. };
  98.  
  99. typedef unsigned short                     SDPIdentityKind;
  100.  
  101. enum {
  102.     kSDPSuggestionOnly            = 0,
  103.     kSDPRestrictToDirectory        = 1,
  104.     kSDPRestrictToRecord        = 2
  105. };
  106.  
  107. typedef unsigned short                     SDPLoginFilterKind;
  108.  
  109.  
  110. /* Panel Structures */
  111. /*
  112. While the panel is in operation, four selection states may exist.
  113.     1) kSDPNothingSelected means nothing is selected.
  114.     2) kContainSelected means a volume, folder, catalog, dnode, or PAB is selected.
  115.     3) kSDPLockedContainerSelected means one of the above, but no access privledges.
  116.     4) kSDPRecordSelected means that a record is currently selected.
  117. */
  118. /* Values of SDPSelectionState */
  119.  
  120. enum {
  121.     kSDPNothingSelected            = 0,
  122.     kSDPLockedContainerSelected    = 1,
  123.     kSDPContainerSelected        = 2,
  124.     kSDPRecordSelected            = 3,
  125.     kSDPRecordAliasSelected        = 4,
  126.     kSDPContainerAliasSelected    = 5
  127. };
  128.  
  129. typedef unsigned short                     SDPSelectionState;
  130.  
  131.  
  132. /*
  133. This type informs the caller of the action the user took, either as the result
  134. of an event (as returned by SDPPanelEvent) or when SDPOpenSelectedItem is called.
  135.  
  136. kSDPProcessed means that the event (or call to SDPOpenSelectedItem) resulted in no
  137. state change.
  138.  
  139. kSDPSelectedAnItem indicates that the user wants to select the currently-hilited
  140. record. This is returned, for example, when a user double-clicks on a record.
  141.  
  142. kSDPChangedSelection implies that the user clicked on a new item (which may mean
  143. that no item is selected).
  144. */
  145. /* Values of SDPPanelState */
  146.  
  147. enum {
  148.     kSDPProcessed                = 0,
  149.     kSDPSelectedAnItem            = 1,
  150.     kSDPChangedSelection        = 2
  151. };
  152.  
  153. typedef unsigned short                     SDPPanelState;
  154. /*
  155. Your application may read any of the fields in a SDPPanelRecord, but it should
  156. use the appropriate routines to make changes to the records with the exception
  157. of the refCon field which your application may read or write at will.  Private
  158. information follows the SDPPanelRecord, so the handle must not be re-sized.
  159. */
  160.  
  161. struct SDPPanelRecord {
  162.     Rect                             bounds;
  163.     Boolean                         visible;
  164.     Boolean                         enabled;
  165.     Boolean                         focused;
  166.     Byte                             padByte;
  167.     AuthIdentity                     identity;
  168.     long                             refCon;
  169.     Rect                             listRect;
  170.     Rect                             popupRect;
  171.     short                             numberOfRows;
  172.     short                             rowHeight;
  173.     Boolean                         pabMode;
  174.     Boolean                         filler1;
  175. };
  176. typedef struct SDPPanelRecord            SDPPanelRecord;
  177.  
  178. typedef SDPPanelRecord *                SDPPanelPtr;
  179. typedef SDPPanelPtr *                    SDPPanelHandle;
  180. typedef CALLBACK_API( void , PanelBusyProcPtr )(SDPPanelHandle Panel, Boolean busy);
  181. typedef STACK_UPP_TYPE(PanelBusyProcPtr)                         PanelBusyUPP;
  182. enum { uppPanelBusyProcInfo = 0x000001C0 };                     /* pascal no_return_value Func(4_bytes, 1_byte) */
  183. #define NewPanelBusyProc(userRoutine)                             (PanelBusyUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppPanelBusyProcInfo, GetCurrentArchitecture())
  184. #define CallPanelBusyProc(userRoutine, Panel, busy)             CALL_TWO_PARAMETER_UPP((userRoutine), uppPanelBusyProcInfo, (Panel), (busy))
  185. typedef PanelBusyUPP                     PanelBusyProc;
  186. /* Find Panel Structures */
  187.  
  188. enum {
  189.     kSDPItemIsSelectedBit        = 0,
  190.     kSDPFindTextExistsBit        = 1
  191. };
  192.  
  193. /* Values of SDPFindPanelState */
  194.  
  195. enum {
  196.     kSDPItemIsSelectedMask        = 1 << kSDPItemIsSelectedBit,
  197.     kSDPFindTextExistsMask        = 1 << kSDPFindTextExistsBit
  198. };
  199.  
  200. typedef unsigned short                     SDPFindPanelState;
  201. /* Values of SDPFindPanelFocus */
  202.  
  203. enum {
  204.     kSDPFindPanelNoFocus        = 0,
  205.     kSDPFindPanelListHasFocus    = 1,
  206.     kSDPFindPanelTextHasFocus    = 2
  207. };
  208.  
  209. typedef unsigned short                     SDPFindPanelFocus;
  210.  
  211.  
  212.  
  213. struct SDPFindPanelRecord {
  214.     Point                             upperLeft;
  215.     Boolean                         visible;
  216.     Boolean                         enabled;
  217.     Boolean                         nowFinding;
  218.     Byte                             padByte;
  219.     SDPFindPanelFocus                 currentFocus;
  220.     AuthIdentity                     identity;
  221.     short                             simultaneousSearchCount;
  222.     long                             refCon;
  223. };
  224. typedef struct SDPFindPanelRecord        SDPFindPanelRecord;
  225.  
  226. typedef SDPFindPanelRecord *            SDPFindPanelPtr;
  227. typedef SDPFindPanelPtr *                SDPFindPanelHandle;
  228. /* Values of SDPFindPanelResult */
  229.  
  230. enum {
  231.     kSDPSelectedAFindItem        = 0,
  232.     kSDPFindSelectionChanged    = 1,
  233.     kSDPFindCompleted            = 2,
  234.     kSDPTextStateChanged        = 3,
  235.     kSDPFocusChanged            = 4,
  236.     kSDPSelectionAndFocusChanged = 5,
  237.     kSDPMenuChanged                = 6,
  238.     kSDPSelectionAndMenuChanged    = 7,
  239.     kSDPProcessedFind            = 8
  240. };
  241.  
  242. typedef unsigned short                     SDPFindPanelResult;
  243. typedef PackedPathNamePtr *                PackedRStringListHandle;
  244. typedef CALLBACK_API( void , FindPanelBusyProcPtr )(SDPFindPanelHandle findPanel, Boolean busy);
  245. typedef STACK_UPP_TYPE(FindPanelBusyProcPtr)                     FindPanelBusyUPP;
  246. enum { uppFindPanelBusyProcInfo = 0x000001C0 };                 /* pascal no_return_value Func(4_bytes, 1_byte) */
  247. #define NewFindPanelBusyProc(userRoutine)                         (FindPanelBusyUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppFindPanelBusyProcInfo, GetCurrentArchitecture())
  248. #define CallFindPanelBusyProc(userRoutine, findPanel, busy)     CALL_TWO_PARAMETER_UPP((userRoutine), uppFindPanelBusyProcInfo, (findPanel), (busy))
  249. typedef FindPanelBusyUPP                 FindPanelBusyProc;
  250. /* Prompt For Identity Routines */
  251. EXTERN_API( OSErr )
  252. SDPPromptForID                    (AuthIdentity *            id,
  253.                                  ConstStr255Param         guestPrompt,
  254.                                  ConstStr255Param         specificIDPrompt,
  255.                                  ConstStr255Param         localIDPrompt,
  256.                                  const RString *        recordType,
  257.                                  SDPIdentityKind         permittedKinds,
  258.                                  SDPIdentityKind *        selectedKind,
  259.                                  const RecordID *        loginFilter,
  260.                                  SDPLoginFilterKind     filterKind)                            FOURWORDINLINE(0x203C, 0x0010, 0x0388, 0xAA5D);
  261.  
  262.  
  263.  
  264. /*
  265. SDPNewPanel creates a new panel. You supply the window in which the panel
  266. is to live, the bounds for the panel (which includes both the menu and the list),
  267. whether or not the panel is to be initially visible, the initial RLI (nil for
  268. catalogs and volumes), the types of records that will be shown (only a single
  269. (non-nil) type which may contain wildcards), the identity by which to browse
  270. (for access control reasons), and a refCon which is  available to the caller.
  271. */
  272. EXTERN_API( OSErr )
  273. SDPNewPanel                        (SDPPanelHandle *        newPanel,
  274.                                  WindowPtr                 window,
  275.                                  const Rect *            bounds,
  276.                                  Boolean                 visible,
  277.                                  Boolean                 enabled,
  278.                                  const PackedRLI *        initialRLI,
  279.                                  const RStringPtr *        typesList,
  280.                                  unsigned long             typeCount,
  281.                                  AuthIdentity             identity,
  282.                                  DirEnumChoices         enumFlags,
  283.                                  DirMatchWith             matchTypeHow,
  284.                                  long                     refCon)                                FOURWORDINLINE(0x203C, 0x0015, 0x0064, 0xAA5D);
  285.  
  286.  
  287. /*
  288. SDPSetIdentity Sets the identity used for browsing.  NOTE: This call is likely to go
  289. away if the new authentication scheme works.
  290. */
  291. EXTERN_API( OSErr )
  292. SDPSetIdentity                    (SDPPanelHandle         panel,
  293.                                  AuthIdentity             identity)                            FOURWORDINLINE(0x203C, 0x0004, 0x0073, 0xAA5D);
  294.  
  295.  
  296.  
  297.  
  298. /*
  299. SDPGetNewPanel is similar to SDPNewPanel above, except it takes a resource id of a
  300. 'panl' resource.
  301. */
  302. EXTERN_API( OSErr )
  303. SDPGetNewPanel                    (SDPPanelHandle *        newPanel,
  304.                                  short                     resourceID,
  305.                                  WindowPtr                 window,
  306.                                  const PackedRLI *        initialRLI,
  307.                                  AuthIdentity             identity)                            FOURWORDINLINE(0x203C, 0x0009, 0x0065, 0xAA5D);
  308.  
  309.  
  310. /*
  311. Call this when you're completely done with a panel. It deallocates all of the
  312. associated data structures.
  313. */
  314. EXTERN_API( OSErr )
  315. SDPDisposePanel                    (SDPPanelHandle         panel)                                FOURWORDINLINE(0x203C, 0x0002, 0x0066, 0xAA5D);
  316.  
  317.  
  318. /*
  319. If the panel is visible, it makes it invisible by hiding the menu, turning off
  320. drawing of the list, and erasing and  invaling the list's rectangle.
  321. */
  322. EXTERN_API( OSErr )
  323. SDPHidePanel                    (SDPPanelHandle         panel)                                FOURWORDINLINE(0x203C, 0x0002, 0x0067, 0xAA5D);
  324.  
  325.  
  326. /* If the panel is invisible, it makes it visible and draws it. */
  327. EXTERN_API( OSErr )
  328. SDPShowPanel                    (SDPPanelHandle         panel)                                FOURWORDINLINE(0x203C, 0x0002, 0x0068, 0xAA5D);
  329.  
  330.  
  331. /* Disables the list and menu so that it won't accept any commands. */
  332. EXTERN_API( OSErr )
  333. SDPEnablePanel                    (SDPPanelHandle         panel,
  334.                                  Boolean                 enable)                                FOURWORDINLINE(0x203C, 0x0003, 0x0069, 0xAA5D);
  335.  
  336. /*
  337. Move the upper-left-hand corner of the panel to (h,v), given in local coordinates of
  338. the panel's window.
  339. */
  340. EXTERN_API( OSErr )
  341. SDPMovePanel                    (SDPPanelHandle         panel,
  342.                                  short                     h,
  343.                                  short                     v)                                    FOURWORDINLINE(0x203C, 0x0004, 0x006B, 0xAA5D);
  344.  
  345.  
  346. /*
  347. Resizes the panel to have the given width and height (keeping the upper-left-hand
  348. corner in a fixed position).
  349. */
  350. EXTERN_API( OSErr )
  351. SDPSizePanel                    (SDPPanelHandle         panel,
  352.                                  short                     width,
  353.                                  short                     height)                                FOURWORDINLINE(0x203C, 0x0004, 0x006C, 0xAA5D);
  354.  
  355.  
  356. /*
  357. This routine simulates a double-click on the selected item (if there is no selected
  358. item, then it does nothing), and it returns the result of that "double-click" via the
  359. whatHappened parameter. If a container is selected, then that container will be
  360. opened and kMovedDownTheHierarchy is returned. If, however, the user is at the lowest
  361. level in the hierarchy, then kSDPSelectedAnItem is returned.
  362. */
  363. EXTERN_API( OSErr )
  364. SDPOpenSelectedItem                (SDPPanelHandle         panel,
  365.                                  SDPPanelState *        whatHappened)                        FOURWORDINLINE(0x203C, 0x0004, 0x006D, 0xAA5D);
  366.  
  367.  
  368. /*
  369. Returns whether a record is selected, something else is selected, or nothing is
  370. selected.
  371. */
  372. EXTERN_API( OSErr )
  373. SDPGetPanelSelectionState        (SDPPanelHandle         panel,
  374.                                  SDPSelectionState *    itsState)                            FOURWORDINLINE(0x203C, 0x0004, 0x006E, 0xAA5D);
  375.  
  376.  
  377. /*
  378. Returns the size of the currently-selected DSSpec, or zero if a record is
  379. not selected.  It is safe to do a NewPtr (SDPGetPanelSelectionSize (...))
  380. */
  381. EXTERN_API( OSErr )
  382. SDPGetPanelSelectionSize        (SDPPanelHandle         panel,
  383.                                  unsigned short *        dsSpecSize)                            FOURWORDINLINE(0x203C, 0x0004, 0x0072, 0xAA5D);
  384.  
  385.  
  386. /*
  387. Returns the currently-selected DSSpec, or a zero-lengthed
  388. DSSpec if a record is not selected. It is assumed that the selection
  389. buffer allocated is large enough.
  390. */
  391. EXTERN_API( OSErr )
  392. SDPGetPanelSelection            (SDPPanelHandle         panel,
  393.                                  PackedDSSpec *            selection)                            FOURWORDINLINE(0x203C, 0x0004, 0x006F, 0xAA5D);
  394.  
  395.  
  396. /*
  397. Forces browsing to the specified RLI. If prli is the current RLI, then it does
  398. nothing.
  399. */
  400. EXTERN_API( OSErr )
  401. SDPSetPath                        (SDPPanelHandle         panel,
  402.                                  const PackedRLI *        prli)                                FOURWORDINLINE(0x203C, 0x0004, 0x0070, 0xAA5D);
  403.  
  404.  
  405. /*
  406. This is the main driver for the panel.  You should pass all events to SDPPanelEvent
  407. including NULL events.  If you have more than 1 panel, you will need to
  408. call SDPPanelEvent for each panel.  NOTE:  For Update Events you will also need to call
  409. SDPUpdatePanel as described below.
  410. */
  411. EXTERN_API( OSErr )
  412. SDPPanelEvent                    (SDPPanelHandle         panel,
  413.                                  const EventRecord *    theEvent,
  414.                                  SDPPanelState *        whatHappened)                        FOURWORDINLINE(0x203C, 0x0006, 0x0071, 0xAA5D);
  415.  
  416.  
  417.  
  418. /*
  419. SDPUpdatePanel should be called in response to an update event.  Generally you will
  420. have first called BeginUpdate, and pass the windows visRgn as theRgn.  If NULL
  421. is passed for theRgn the entire panel is re-drawn.  NOTE:  Drawing is not cliped to
  422. theRgn, if this is desired, you must first call SetClip.
  423. */
  424. EXTERN_API( OSErr )
  425. SDPUpdatePanel                    (SDPPanelHandle         panel,
  426.                                  RgnHandle                 theRgn)                                FOURWORDINLINE(0x203C, 0x0004, 0x006A, 0xAA5D);
  427.  
  428.  
  429. /*
  430. SDPSelectString scrolls and selects the closest matching string at the current
  431. level.  This is the same behavior as if the user typed in the given string.
  432. */
  433. EXTERN_API( OSErr )
  434. SDPSelectString                    (SDPPanelHandle         panel,
  435.                                  const RString *        name)                                FOURWORDINLINE(0x203C, 0x0004, 0x0074, 0xAA5D);
  436.  
  437. /*
  438. SDPGetPathLength returns the length in bytes required to hold the current path name
  439. in RLI format.  This corresponds to the path name in the popup menu.
  440. */
  441. EXTERN_API( OSErr )
  442. SDPGetPathLength                (SDPPanelHandle         panel,
  443.                                  unsigned short *        pathNameLength)                        FOURWORDINLINE(0x203C, 0x0004, 0x0075, 0xAA5D);
  444.  
  445. /* SDPGetPath returns the current rli. */
  446. EXTERN_API( OSErr )
  447. SDPGetPath                        (SDPPanelHandle         panel,
  448.                                  PackedRLI *            prli,
  449.                                  short *                dsRefNum)                            FOURWORDINLINE(0x203C, 0x0006, 0x0076, 0xAA5D);
  450.  
  451. /*
  452. SDPSetFocus will draw the focus rectangle or erase the focus rectangle depending upon
  453. the focus boolean.
  454. */
  455. EXTERN_API( OSErr )
  456. SDPSetFocus                        (SDPPanelHandle         panel,
  457.                                  Boolean                 focus)                                FOURWORDINLINE(0x203C, 0x0003, 0x0077, 0xAA5D);
  458.  
  459. /*
  460. SDPSetPanelBalloonHelp allows clients to specify a STR# resource id to use for 
  461. balloon help.  Balloon help is unavailable until this call is made.
  462. */
  463. EXTERN_API( OSErr )
  464. SDPSetPanelBalloonHelp            (SDPPanelHandle         panel,
  465.                                  short                     balloonHelpID)                        FOURWORDINLINE(0x203C, 0x0003, 0x0078, 0xAA5D);
  466.  
  467. /*
  468. SDPInstallPanelBusyProc allows clients to install a CB that will be called while
  469. the panel is aynchronously busy.
  470. */
  471. EXTERN_API( OSErr )
  472. SDPInstallPanelBusyProc            (SDPPanelHandle         panel,
  473.                                  PanelBusyProc             busyProc)                            FOURWORDINLINE(0x203C, 0x0004, 0x0079, 0xAA5D);
  474.  
  475.  
  476. EXTERN_API( OSErr )
  477. SDPNewFindPanel                    (SDPFindPanelHandle *    newPanel,
  478.                                  WindowPtr                 window,
  479.                                  Point                     upperLeft,
  480.                                  short                     layoutResourceID,
  481.                                  Boolean                 visible,
  482.                                  Boolean                 enabled,
  483.                                  const RStringPtr *        typesList,
  484.                                  long                     typeCount,
  485.                                  DirMatchWith             matchTypeHow,
  486.                                  AuthIdentity             identity,
  487.                                  short                     simultaneousSearchCount,
  488.                                  SDPFindPanelFocus         initialFocus,
  489.                                  long                     refCon)                                FOURWORDINLINE(0x203C, 0x0014, 0x08FC, 0xAA5D);
  490.  
  491. EXTERN_API( OSErr )
  492. SDPDisposeFindPanel                (SDPFindPanelHandle     findPanel)                            FOURWORDINLINE(0x203C, 0x0002, 0x08FD, 0xAA5D);
  493.  
  494. EXTERN_API( OSErr )
  495. SDPStartFind                    (SDPFindPanelHandle     findPanel)                            FOURWORDINLINE(0x203C, 0x0002, 0x08FE, 0xAA5D);
  496.  
  497. EXTERN_API( OSErr )
  498. SDPStopFind                        (SDPFindPanelHandle     findPanel)                            FOURWORDINLINE(0x203C, 0x0002, 0x08FF, 0xAA5D);
  499.  
  500. EXTERN_API( OSErr )
  501. SDPFindPanelEvent                (SDPFindPanelHandle     findPanel,
  502.                                  const EventRecord *    event,
  503.                                  SDPFindPanelResult *    whatHappened)                        FOURWORDINLINE(0x203C, 0x0006, 0x0900, 0xAA5D);
  504.  
  505. EXTERN_API( OSErr )
  506. SDPUpdateFindPanel                (SDPFindPanelHandle     findPanel,
  507.                                  RgnHandle                 theRgn)                                FOURWORDINLINE(0x203C, 0x0004, 0x0901, 0xAA5D);
  508.  
  509. EXTERN_API( OSErr )
  510. SDPShowFindPanel                (SDPFindPanelHandle     findPanel)                            FOURWORDINLINE(0x203C, 0x0002, 0x0902, 0xAA5D);
  511.  
  512. EXTERN_API( OSErr )
  513. SDPHideFindPanel                (SDPFindPanelHandle     findPanel)                            FOURWORDINLINE(0x203C, 0x0002, 0x0903, 0xAA5D);
  514.  
  515. EXTERN_API( OSErr )
  516. SDPMoveFindPanel                (SDPFindPanelHandle     findPanel,
  517.                                  short                     h,
  518.                                  short                     v)                                    FOURWORDINLINE(0x203C, 0x0004, 0x0904, 0xAA5D);
  519.  
  520. EXTERN_API( OSErr )
  521. SDPEnableFindPanel                (SDPFindPanelHandle     findPanel,
  522.                                  Boolean                 enabled)                            FOURWORDINLINE(0x203C, 0x0003, 0x0905, 0xAA5D);
  523.  
  524. EXTERN_API( OSErr )
  525. SDPSetFindPanelFocus            (SDPFindPanelHandle     findPanel,
  526.                                  SDPFindPanelFocus         newFocus)                            FOURWORDINLINE(0x203C, 0x0003, 0x0906, 0xAA5D);
  527.  
  528. EXTERN_API( OSErr )
  529. SDPGetFindPanelState            (SDPFindPanelHandle     findPanel,
  530.                                  SDPFindPanelState *    itsState)                            FOURWORDINLINE(0x203C, 0x0004, 0x0907, 0xAA5D);
  531.  
  532. EXTERN_API( OSErr )
  533. SDPGetFindPanelSelectionSize    (SDPFindPanelHandle     findPanel,
  534.                                  unsigned short *        size)                                FOURWORDINLINE(0x203C, 0x0004, 0x0908, 0xAA5D);
  535.  
  536. EXTERN_API( OSErr )
  537. SDPGetFindPanelSelection        (SDPFindPanelHandle     findPanel,
  538.                                  PackedDSSpec *            selection)                            FOURWORDINLINE(0x203C, 0x0004, 0x0909, 0xAA5D);
  539.  
  540. EXTERN_API( OSErr )
  541. SDPSetFindPanelBalloonHelp        (SDPFindPanelHandle     findPanel,
  542.                                  short                     balloonHelpID)                        FOURWORDINLINE(0x203C, 0x0003, 0x090A, 0xAA5D);
  543.  
  544. EXTERN_API( OSErr )
  545. SDPSetFindIdentity                (SDPFindPanelHandle     findPanel,
  546.                                  AuthIdentity             identity)                            FOURWORDINLINE(0x203C, 0x0004, 0x090B, 0xAA5D);
  547.  
  548. EXTERN_API( OSErr )
  549. SDPInstallFindPanelBusyProc        (SDPFindPanelHandle     findPanel,
  550.                                  FindPanelBusyProc         busyProc)                            FOURWORDINLINE(0x203C, 0x0004, 0x090C, 0xAA5D);
  551.  
  552.  
  553.  
  554. EXTERN_API( OSErr )
  555. SDPGetIconByType                (const RString *        recordType,
  556.                                  IconSelectorValue         whichIcons,
  557.                                  Handle *                iconSuite)                            THREEWORDINLINE(0x303C, 0x0400, 0xAA5C);
  558.  
  559. EXTERN_API( OSErr )
  560. SDPGetDSSpecIcon                (const PackedDSSpec *    packedDSSpec,
  561.                                  IconSelectorValue         whichIcons,
  562.                                  Handle *                iconSuite)                            THREEWORDINLINE(0x303C, 0x0401, 0xAA5C);
  563.  
  564. EXTERN_API( OSErr )
  565. SDPGetCategories                (PackedRStringListHandle * categories,
  566.                                  PackedRStringListHandle * displayNames)                    THREEWORDINLINE(0x303C, 0x0402, 0xAA5C);
  567.  
  568. EXTERN_API( OSErr )
  569. SDPGetCategoryTypes                (const RString *        category,
  570.                                  PackedRStringListHandle * types)                            THREEWORDINLINE(0x303C, 0x0403, 0xAA5C);
  571.  
  572.  
  573.  
  574.  
  575. EXTERN_API( OSErr )
  576. SDPResolveAliasFile                (FSSpecPtr                 fileSpec,
  577.                                  PackedDSSpecHandle     resolvedDSSpec,
  578.                                  AuthIdentity             identity,
  579.                                  Boolean                 mayPromptUser)                        FOURWORDINLINE(0x203C, 0x0007, 0x0E74, 0xAA5D);
  580.  
  581. EXTERN_API( OSErr )
  582. SDPResolveAliasDSSpec            (PackedDSSpecHandle     theAliasDSSpec,
  583.                                  AuthIdentity             identity,
  584.                                  Boolean                 mayPromptUser)                        FOURWORDINLINE(0x203C, 0x0005, 0x0E75, 0xAA5D);
  585.  
  586. EXTERN_API( OSErr )
  587. SDPRepairPersonalDirectory        (FSSpec *                pd,
  588.                                  Boolean                 showProgress)                        FOURWORDINLINE(0x203C, 0x0003, 0x1A2C, 0xAA5D);
  589.  
  590.  
  591. #endif /* REZ */
  592.  
  593. #if PRAGMA_STRUCT_ALIGN
  594.     #pragma options align=reset
  595. #elif PRAGMA_STRUCT_PACKPUSH
  596.     #pragma pack(pop)
  597. #elif PRAGMA_STRUCT_PACK
  598.     #pragma pack()
  599. #endif
  600.  
  601. #ifdef PRAGMA_IMPORT_OFF
  602. #pragma import off
  603. #elif PRAGMA_IMPORT
  604. #pragma import reset
  605. #endif
  606.  
  607. #ifdef __cplusplus
  608. }
  609. #endif
  610.  
  611. #endif /* __OCESTANDARDDIRECTORY__ */
  612.  
  613.